gdk: Don't change window_under_pointer for pure touch events
authorCarlos Garnacho <carlosg@gnome.org>
Wed, 28 Dec 2011 01:09:59 +0000 (02:09 +0100)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 1 Mar 2012 21:25:25 +0000 (16:25 -0500)
Only touch events that emulate the pointer do change it.

gdk/gdkwindow.c

index 7ba32847f3cb4f6b4f7bc65e6b278e29385af4d4..4022b91281542e02321d2190541b43cbb548233c 100644 (file)
@@ -9301,7 +9301,9 @@ proxy_pointer_event (GdkDisplay                 *display,
       return TRUE;
     }
 
-  if (pointer_info->window_under_pointer != pointer_window)
+  if ((source_event->type != GDK_TOUCH_UPDATE ||
+       _gdk_event_get_pointer_emulated (source_event)) &&
+      pointer_info->window_under_pointer != pointer_window)
     {
       /* Either a toplevel crossing notify that ended up inside a child window,
         or a motion notify that got into another child window  */